e82022c45a3e4bb1525eb41c82f1bcfdf1a6374f,core/project/source/jetbrains/mps/project/validation/ValidationUtil.java,ValidationUtil,validateModel,#SModel#Consumer#,119
Before Change
if (model instanceof InvalidSModel) {
Iterable<SModel.Problem> problems = model.getProblems();
if (!problems.iterator().hasNext()) {
consumer.consume(new ValidationProblem(Severity.ERROR, "Couldn't read model"));
return;
}
for (SModel.Problem m : problems) {
if (!m.isError()) continue;
consumer.consume(new ValidationProblem(Severity.ERROR, m.getText()));
}
return;
}
if (
!model.isReadOnly() &&
(model instanceof PersistenceVersionAware) &&
((PersistenceVersionAware) model).getPersistenceVersion() < ModelPersistence.LAST_VERSION
) {
consumer.consume(
new ValidationProblem(Severity.WARNING, "Outdated model persistence is used: " + ((PersistenceVersionAware) model).getPersistenceVersion() +
". Please run Tools->Migration 3.2->Migrate from Names to Ids"));
}
if (repository == null) {
consumer.consume(new ValidationProblem(Severity.WARNING, "Model is detached from a repository, could not process further"));
return;
}
SModule module = model.getModule();
final SModelReference modelToValidateRef = model.getReference();
for (final SModelReference reference : SModelOperations.getImportedModelUIDs(model)) {
if (module.resolveInDependencies(reference.getModelId()) == null) {
String msg = "Can't find model: " + SModelStereotype.withoutStereotype(reference.getModelName());
consumer.consume(new MissingModelError(model, msg, reference));
}
if (reference.equals(modelToValidateRef)) {
consumer.consume(new ImportSelfWarning(model, reference));
}
}
After Change
if (model instanceof InvalidSModel) {
Iterable<SModel.Problem> problems = model.getProblems();
if (!problems.iterator().hasNext()) {
if (!processor.process(new ValidationProblem(Severity.ERROR, "Couldn't read model"))) return;
return;
}
for (SModel.Problem m : problems) {
if (!m.isError()) continue;
if (!processor.process(new ValidationProblem(Severity.ERROR, m.getText()))) return;
}
return;
}
if (
!model.isReadOnly() &&
(model instanceof PersistenceVersionAware) &&
((PersistenceVersionAware) model).getPersistenceVersion() < ModelPersistence.LAST_VERSION
) {
if (!processor.process(
new ValidationProblem(Severity.WARNING, "Outdated model persistence is used: " + ((PersistenceVersionAware) model).getPersistenceVersion() +
". Please upgrade model persistence"))) return;
}
if (repository == null) {
if (!processor.process(new ValidationProblem(Severity.WARNING, "Model is detached from a repository, could not process further"))) return;
return;
}
SModule module = model.getModule();
final SModelReference modelToValidateRef = model.getReference();
for (final SModelReference reference : SModelOperations.getImportedModelUIDs(model)) {
if (module.resolveInDependencies(reference.getModelId()) == null) {
String msg = "Can't find model: " + SModelStereotype.withoutStereotype(reference.getModelName());
if (!processor.process(new MissingModelError(model, msg, reference))) return;
}
if (reference.equals(modelToValidateRef)) {
if (!processor.process(new ImportSelfWarning(model, reference))) return;
}
}
List<SModuleReference> langsToCheck = new ArrayList<SModuleReference>();